import java.util.Random;

/**
 * 加减法口算练习系统 v0.1
 * 功能：生成50道100以内加法/减法算式
 */
public class CalculationSystemV01 {

    // 模块1：随机数生成器
    private static Random random = new Random();

    /**
     * 生成指定范围内的随机数
     * @param min 最小值
     * @param max 最大值
     * @return 随机整数
     */
    public static int generateRandomNumber(int min, int max) {
        return random.nextInt(max - min + 1) + min;
    }

    /**
     * 模块2：生成单个算式
     * @param isAddition 是否为加法算式
     * @return 算式字符串
     */
    public static String generateEquation(boolean isAddition) {
        int num1, num2;

        if (isAddition) {
            // 加法：两个数都在1-99之间，且和不超过100
            num1 = generateRandomNumber(1, 99);
            num2 = generateRandomNumber(1, 100 - num1);
            return num1 + " + " + num2 + " = ";
        } else {
            // 减法：确保结果不为负数
            num1 = generateRandomNumber(1, 100);
            num2 = generateRandomNumber(1, num1);
            return num1 + " - " + num2 + " = ";
        }
    }

    /**
     * 模块3：生成习题集
     * @param count 题目数量
     */
    public static void generateExercise(int count) {
        System.out.println("加减法口算练习系统-v0.1");
        System.out.println("======================");

        for (int i = 1; i <= count; i++) {
            // 随机选择加法或减法
            boolean isAddition = random.nextBoolean();
            String equation = generateEquation(isAddition);

            // 输出算式
            System.out.printf("%2d. %s%n", i, equation);
        }

        System.out.println("======================");
        System.out.println("共生成 " + count + " 道题目");
    }

    // 主控模块
    public static void main(String[] args) {
        generateExercise(50);
    }
}